import  unittest
import HTMLTestRunner
import nnreport
import requests

class AddTest(unittest.TestCase):
    def test_add_user(self):
        '''
        添加用户
        '''
        self.assertTrue(1==1,"1是否等于1")

class QueryTest(unittest.TestCase):
    user_id_list=[]

    @classmethod
    def setUpClass(cls)->None:#类执行前，类方法，可以做初始化数据
        global user_id_list
        user_id_list = [1,2,3,4,5,6,8,9]
        print(user_id_list)

    def tearDown(self)->None:
        global user_id_list
        user_id_list.append(5)

    def test_user_in_list1(self):
        '''test_user_in_list1，验证100是否在list中'''
        global user_id_list
        #body=requests.get("http://www.besttest.cn")
        #user_id=body.get("userId")
        user_id=100
        #检查点增加描述
        self.assertTrue(user_id in user_id_list,"测试100在list中")
        user_id_list.remove(user_id)


    def test_user_in_list2(self):
        '''test_user_in_list2，验证6是否在list中'''
        global user_id_list
        print("test_user_id_list:",user_id_list)
        #body=requests.get("http://www.besttest.cn")
        #user_id=body.get("userId")
        user_id=6
        self.assertTrue(user_id in user_id_list)

    def test_user_in_list3(self):
        '''test_user_in_list3，验证8是否在list中'''
        global user_id_list
        #body=requests.get("http://www.besttest.cn")
        #user_id=body.get("userId")
        user_id=8
        self.assertTrue(user_id in user_id_list)

    def test_user_in_list4(self):
        '''test_user_in_list4，验证5是否在list中'''
        global user_id_list
        # body=requests.get("http://www.besttest.cn")
        # user_id=body.get("userId")
        user_id = 5
        self.assertTrue(user_id in user_id_list)

    @classmethod
    def tearDownClass(cls)->None:#类方法，类执行后，可以做清洗数据（通过数据库sql）
        #delete=mysqlUtils.delete("delete")
        global user_id_list
        print("tearDownClass",user_id_list)
        user_id_list=[]
        print("tearDownClass:",user_id_list)



#unittest.main()
suite=unittest.TestSuite() #创建测试框架
suite.addTest(QueryTest("test_user_in_list1"))
suite.addTest(QueryTest("test_user_in_list2"))
suite.addTest(QueryTest("test_user_in_list3"))
suite.addTest(AddTest("test_add_user"))

#测试报告第一种方式
# file=open("测试报告.html","wb")
# h=HTMLTestRunner.HTMLTestRunner(file,title="测试报告")
# h.run(suite)
# file.close()



#测试报告第二种方式
report=nnreport.BeautifulReport(suite)
report.report(description="这是一个好看的报告",filename="好看的测试报告.html",log_path=".")
